New docs#1413
Conversation
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f327fc3b7e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9d70c376bc
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
` |
Ryang-21
left a comment
There was a problem hiding this comment.
Nice work these docs are much better than what we had previously
Thanks for pointing that out, @Ryang-21 . This page might go away if we decide to stick with the current versioning, though. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c49dd12455
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 700e55bd7a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ab91814e57
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
* [Modernization] Make fetch default (#1394) * Replace __USE_AXIOS__ dynamic require with static fetch default * Add babel and webpack aliasing to emit axios variant from shared source * Flip package.json exports: fetch default, /axios opt-in, drop /no-axios * Update eventsource and remove no-eventsource build (#1395) * update eventsource to v4.1.0 and remove conditional import of eventsource * remove the dom-monkeypatch as its now included in the tsconfig lib field * build and export cjs and esm build varients, remove export of umd bundles * Base Migration (#1399) * move stellar-base src under src/base * migrate from classic yarn to pnpm (#1400) * remove randomBytes for universal crypto.getRandomValues * replace sha.js with noble/hashes and update to version 2.2.0 * update BigNumber to v11.0.0 * replace noble/curves with noble/ed25519 for reduced bundle size * replace toml with smol-toml * replace URI for native URL (#1402) * refactor: replace URI usage for native URL + URLSearchParam objects * allow expandUriTemplate to handle relative templated links * Tooling modernization: Node 22, husky v9, pnpm minimumReleaseAge, drop nyc (#1408) * Update husky config + remove nyc * Root .nvmrc + bump Node to v22 * pnpm minimumReleaseAge config * Use pnpm workspace (#1417) * New docs (#1413) * TypeDoc setup * P27 updates (#1429) * Update XDR base URLs and improve Makefile for TypeScript definitions * pull and regenerate xdr definitions for p27 * handle signing the new SorobanCredential varients * add CAP-71 delegate-credential signing helpers - buildAuthorizationEntryPreimage: expose the signature payload (authorizeEntry now builds its preimage through it) - buildWithDelegatesEntry: wrap ADDRESS/ADDRESS_V2 into ADDRESS_WITH_DELEGATES, sorting + de-duping delegates; top-level signature defaults to Void - authorizeEntry: optional forAddress to fill a specific node (top-level or a delegate) instead of always the top-level - export the new helpers + DelegateSignature/BuildWithDelegatesParams from base * Update readme + pre-push check for docs (#1430) * Pre-push hook + updated docs * Update pre-push hook * Add @stellar/stellar-base migration guide to the installation docs * Map xdr.HashIdPreimage in typedoc to fix docs:reference build --------- Co-authored-by: oceans404 <so.orpilla@gmail.com> * Tx builder type regression (#1438) * Implement TransactionSource interface for Account and MuxedAccount classes; update TransactionBuilder to use TransactionSource * TSDoc: Replace @internal with @ignore tag (#1436) * TSDoc: Replace @internal with @ignore tag * Add friendbot call builder items * Dependency updates (#1433) * Minor: axios + bignumber.js * Patch: vitest + @vitest * Minor astro + patch @astro * Minor: esbuild to v0.27.7 (not latest v0.28.0) * Some patch + minor * Major: @rollup/plugin-commonjs * Major: cross-env + dotenv * Major: jsdom * Updated pnpm-lock * Auth flag namespace (#1441) * add back AuthFlag namespace * fix: update build types script for axios to ensure generated types are copied correctly * P27 guide (#1440) * add p27 guide * docs: add task-oriented guides (connect-and-fund, send-a-payment) + internal-link tooling (#1434) * docs: add internal-link tooling (base-prefix rewriting + dead-link validation) * docs: add connect-and-fund and send-a-payment guides * docs: add issue-an-asset guide * docs: refine issue-an-asset guide (token framing, typed helper, review fixes) * docs: add query-and-stream guide * docs: add handle-errors guide * docs: link guides 02-04 to the handle-errors guide Add error-handling pointers now that guide 05 exists (sibling-link upgrade): a primary pointer in guide 02's submit section and lighter pointers in 03/04. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: add invoke-a-contract guide (06) Teaches invoking a deployed Soroban contract from JS with contract.Client and AssembledTransaction: connect over RPC, preview a call by simulation, then sign and send a state change. Uses the increment contract; deployment is linked out to the Stellar CLI tutorial. Regenerate llms bundles. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: add contract-auth guide (07) Covers signing Soroban contract authorization for an account other than the transaction source, framed for AddressV2 (CAP-0071-02) readiness: the same code is correct on the legacy ADDRESS credential today and on AddressV2 after the Protocol 28 flip. Distinguishes envelope signing from authorization-entry signing, and gives a before/after migration for hand-rolled signers (buildAuthorizationEntryPreimage / authorizeEntry). Also upgrades the Invoke a Contract guide's closing link to point at this guide, replaces numbered guide references with named links, and regenerates the llms bundles. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: fold versioning into the home page, drop it as a guide Versioning and compatibility is reference material, not a task how-to, so it moves out of the guides nav into a 'Versioning and compatibility' section on the home page (README -> index). Repoints the agents.md reference to the new home-page anchor and regenerates index.md + llms bundles. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: add migration guide (00) A versioned breaking-changes guide for upgrading to the v16 modernization release (base fold-in, native fetch, ESM, Node 22) and Protocol 27 / 28 Soroban auth (AddressV2). Modeled on viem's migration guide: one section per version, one entry per change, with before/after diffs. Sorts first in the guides nav and opens with a pointer to the home-page versioning section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: link API references in migration guide (00) Link the first mention of each documented symbol (Keypair, the auth helpers, contract.Client/basicNodeSigner/signAuthEntries, rpc.Server/Horizon.Server, getLatestLedger, BalanceResponse, SigningCallback) to its reference page, base-agnostic, matching guide 07. Anchors verified against the rendered reference pages; internal link check passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Ryan Yang <ryan.yang@stellar.org> Co-authored-by: Iveta <iveta@stellar.org> * update package version to 16.0.0-rc.1 * fix: improve token formatting logic --------- Co-authored-by: Iveta <quietbits@users.noreply.github.com> Co-authored-by: oceans404 <so.orpilla@gmail.com> Co-authored-by: Steph <91382964+oceans404@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Iveta <iveta@stellar.org>
Important
Apache-specific affordances — The Link response headers (RFC 8288) and Accept-based markdown content negotiation are implemented in
public/.htaccessusingmod_rewriteandmod_headers. They only take effect on Apache hosts. On GitHub Pages, Cloudflare Pages, Netlify, and any other host that doesn't honor.htaccess, those features silently degrade to the URL-.mdconvention only (no errors, just no Link header and no content negotiation). If we move the docs to a non-Apache host, the same behaviors need to be re-expressed in that host's native format (_headersfile, edge function, etc.).Note
Deploy target is
stellar.github.io/js-stellar-sdk—config/site.tsis the single source of truth:SITE_URL = "https://stellar.github.io",BASE_PATH = "/js-stellar-sdk". All generated artifacts (docs/llms.txt,docs/llms-full.txt,public/robots.txt,public/.htaccess, and the Astro sitemap) reference those values. To retarget to a different host or sub-path, editconfig/site.tsand runpnpm docs.Warning
No auto-deploy workflow —
docs_build.ymlbuilds and diff-checks the docs on every PR but does not push to any host. Whoever owns docs publishing needs to wire up a follow-up workflow (or update an existing one) that uploadsdist/site/after amasterpush. Deferred from this PR by design.Note
Generated artifacts are gitignored —
public/robots.txt,public/llms.txt,public/llms-full.txt, andpublic/.htaccessare produced on every build and not committed. Reviewers should runpnpm docslocally to inspect the deployed output; the source-tree diff alone does not show them.Summary
New Astro/Starlight docs site replacing the legacy JSDoc pipeline: Adds
astro.config.mjs,docs/content collection,src/content.config.ts, and a StarlightPageTitlecomponent override (suppresses a duplicate H1 from frontmatter; preserves the SkipLink target). Retires the oldwebsite/scripts and bundle-publish workflow.TypeDoc-driven reference generator (
build-docs.ts): Parses every exported SDK symbol via TypeDoc, buckets them by source-file path into named groups ("Core / Keys", "Network / Horizon", "SEPs / WebAuth", etc.), and renders one markdown page per bucket with title + description frontmatter. Source links pin to an evergreen ref so generated pages don't churn on every commit.Source-wide TSDoc migration: Every module (
horizon,rpc,webauth,base,stellartoml,contract,utils,index) had its JSDoc-flavored comments converted to TSDoc. Removed@constant,@default,@memberof,@class,@enum,@typedef,@hideconstructor,@static; converted@param {Type} name descto@param name - desc(types come from signatures); replaced@throws {Error}with@throws; wrapped@examplesnippets in fenced code blocks. Comment-only changes — no runtime behavior change.Single-source-of-truth deploy config (
config/site.ts): CentralizesSITE_URL,BASE_PATH,SITE_BASE_URL,AI_POLICY(Cloudflare Content Signals), andALLOWED_AI_BOTS. Consumed byastro.config.mjs,build-robots.ts, andbuild-htaccess.tsso a single edit retargets the entire site to a new host or base path.LLMs bundles + README→index sync (
build-llms.ts): Emitsdocs/llms.txt(compact routing-map index) anddocs/llms-full.txt(full corpus + appendedCHANGELOG.md) with bundle-relative URLs so the bundles resolve correctly on any host or sub-path. Also syncsREADME.md→docs/index.md(frontmatter prepended, title derived from README's H1) so the GitHub README and the docs homepage are one source.Agent-readiness server config (
build-robots.ts+build-htaccess.ts): Generates arobots.txtcarrying explicit per-botAllowrules for major AI crawlers and Cloudflare Content Signals (search,ai-input,ai-train). Generates an Apache.htaccessadvertising the LLMs bundles via RFC 8288Linkresponse headers and implementing Accept-based markdown content negotiation. Files inert on hosts that don't honor.htaccess.Raw markdown siblings (
build-md-siblings.ts): Copies every docs page to aURL.mdsibling in the build output so agents can fetch the raw markdown by appending.mdto any rendered URL. Rewrites relative non-.mdlink targets (drops one leading../) so internal links resolve correctly in both the HTML and raw-.mdURL spaces, regardless of deployment base path.agents.mdpage + sidebar entry: New "AI Agents" docs page describing all three agent-facing surfaces (bundles, raw markdown, crawler policy) and explicitly listing the agent-readiness conventions deliberately not implemented for a JS SDK doc site (RFC 9727 API catalog, MCP server card, OAuth discovery, A2A agent card, commerce protocols).Docs build CI (
docs_build.yml): New PR-time workflow chainingdocs:reference → docs:llms → docs:robots → docs:htaccess → docs:siteand diff-checkingdocs/for drift between generated and committed content. CONTRIBUTING refreshed to point at the new docs guide.